//Copyright (c) Microsoft Corporation.  All rights reserved.

using System;
using System.Collections.Generic;
using System.Text;
using Eas.WebCrawler.Interfaces;

namespace Eas.WebCrawler.PlugIns.FileNamers {
    /// <summary>This helper interface allows you to retrieve an available file name to use to save files onto your disk drive.</summary>
    public interface FileNamer : Eas.WebCrawler.Interfaces.WebCrawlerComponent{
        /// <summary>Returns the name of a non-existant file in the passed-in <paramref name="baseDirectory"/>.</summary>
        /// <param name="request">The <see cref="Request"/> for which a file name should be created.</param>
        /// <param name="baseDirectory">The directory into which the file will be saved.</param>
        /// <returns>A file name that can be used to save the response for the passed-in <paramref name="request"/>.</returns>
        string GetFileName(Request request, System.IO.DirectoryInfo baseDirectory);
    }
}
